package com.arpa.oms.domain.vo;

import com.arpa.wms.domain.entity.BasicEntity;
import com.arpa.wms.domain.entity.GoodsUnitConversion;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * OMS销售明细
 * </p>
 *
 * @author xuyang
 * @since 2020-12-21
 */
@Data
@ApiModel(value = "OMS销售明细", description = "OMS销售明细")
public class SaleItemVO extends BasicEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "数据标识")
    private String code;

    @ApiModelProperty(value = "销售单号")
    private String saleCode;

    @ApiModelProperty(value = "商品标识")
    private String goodsCode;

    @ApiModelProperty(value = "商品编码")
    private String goodCode;

    @ApiModelProperty(value = "商品名称")
    private String goodsName;

    @ApiModelProperty(value = "商品条码")
    private String goodsBarCode;

    @ApiModelProperty(value = "商品规格")
    private String spec;

    @ApiModelProperty(value = "保质期（天）")
    private BigDecimal expirationQuantity;

    @ApiModelProperty(value = "基本单位")
    private String basicUnit;

    @ApiModelProperty(value = "基本单位名称")
    private String basicUnitName;

    @ApiModelProperty(value = "当前商品单位转基本单位件装量")
    private BigDecimal unitConvertQuantity;

    @ApiModelProperty(value = "销售单位")
    private String saleUnit;

    @ApiModelProperty(value = "销售单位名称")
    private String saleUnitName;

    @ApiModelProperty(value = "订单数量（销售单位）")
    private BigDecimal planQuantity;

    @ApiModelProperty(value = "实际销售数量（销售单位），即出库数量（销售单位）")
    private BigDecimal actualQuantity;

    @ApiModelProperty(value = "订单数量（基本单位）")
    private BigDecimal planBasicQuantity;

    @ApiModelProperty(value = "实际销售数量（基本单位），即出库数量（基本单位）")
    private BigDecimal actualBasicQuantity;

    @ApiModelProperty(value = "退货数量（销售单位）")
    private BigDecimal refundQuantity;

    @ApiModelProperty(value = "退货数量（基本单位）")
    private BigDecimal refundBasicQuantity;

    @ApiModelProperty(value = "可退货数量（销售单位）")
    private BigDecimal canRefundQuantity;

    @ApiModelProperty(value = "税率")
    private BigDecimal taxRate;

    @ApiModelProperty(value = "单价")
    private BigDecimal unitPrice;

    @ApiModelProperty(value = "含税单价")
    private BigDecimal taxUnitPrice;

    @ApiModelProperty(value = "金额")
    private BigDecimal amountMoney;

    @ApiModelProperty(value = "税额")
    private BigDecimal taxMoney;

    @ApiModelProperty(value = "价税合计")
    private BigDecimal totalMoney;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "赠品数量")
    private BigDecimal giftQuantity;

    @ApiModelProperty(value = "商品单位列表")
    private List<GoodsUnitConversion> GoodsUnitConversionList ;

    @ApiModelProperty(value = "折扣金额")
    private BigDecimal discountAmount;

    @ApiModelProperty(value = "是否新增 0-否 1-是")
    private Integer batchAdd;

    @ApiModelProperty(value = "来源单号")
    private String sourceCode;


    @ApiModelProperty(value = "是否组合商品：0-不是，1-是")
    private Integer recordType;

    @ApiModelProperty(value = "外部商品编码")
    private String outerGoodsCode;

    @ApiModelProperty(value = "外部商品名称")
    private String outerGoodsName;

    @ApiModelProperty(value = "店铺编码code")
    private String shopCode;

    @ApiModelProperty(value = "店铺名称")
    private String shopName;

    @ApiModelProperty(value = "平台code")
    private String platformCode;

    @ApiModelProperty(value = "平台名称")
    private String platformName;

    @ApiModelProperty(value = "总数")
    private Long total;

}
